﻿namespace Marvin
{
    /// <summary>
    /// Requirements for the prediction
    /// </summary>
    public class PredictionRequirements
    {
        /// <summary>
        /// Gets or sets a value indicating whether the features are independent.
        /// </summary>
        /// <value>
        /// <c>true</c> if the features are independent; otherwise, <c>false</c>.
        /// </value>
        public bool FeaturesAreIndependent { get; set; }

        /// <summary>
        /// Gets or sets a value indicating whether training data has about the same value range. 
        /// For example if one feature has a value range between 0.00001 and 0.01 and the other is in between 1 and 10, 
        /// the data is not regularized. 
        /// </summary>
        /// <value>
        /// <c>true</c> if training data is reguralized; otherwise, <c>false</c>.
        /// </value>
        public bool TrainingDataIsReguralized { get; set; }

        /// <summary>
        /// Initializes a new instance of the <see cref="PredictionRequirements"/> class, initialized with standard 
        /// requirements.
        /// </summary>
        public PredictionRequirements()
        {
            FeaturesAreIndependent = false;
            TrainingDataIsReguralized = false;
        }
    }
}